|
CATIA V5 Programmierung : Fläche aus anderem Part einfügen???
Tapani. am 28.07.2006 um 09:38 Uhr (0)
moin,das Problem liegt darin, das der Zielort für den Paste-Befehl in der Selection stehen muss. Du mußt die erstmal das ActiveDocument vor dem Öffenen des Parts merken und dann nach dem Copy das ursprüngliche Part-Document aktivieren (Document.Activate), dir davon die Selection holen (sicherheitshalber löschen) und dann den Hybridbody, in den die Fläche eingefügt werden soll, per "Add" in die Selection einfügen und dann den Paste-Befehl ausführen.grob skizziert sieht das dann so aus:Code: set oldActDoc ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Copy/Paste
Tapani. am 01.09.2006 um 10:53 Uhr (0)
moin,das Problem liegt wohl darin, welches Objekt das Active Object (blau hinterlegtes Element in CATIA) ist, denn den Code hab ich gerade noch mal ausprobiert und an sich ist das ok. Der Fehler taucht nur dann auf, wenn das Ziel-Part nicht Bestandteil des ProductDocuments ist, indem das Quell-Part liegt und das Ziel-Part das ActiveDocument istoderwenn das Ziel-Part und Quell-Part zwar Bestandteil des selben ProductDocuments sind, aber das Ziel-Part (oder ein ganz aderes Part) das Active Object ist.Am einf ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Join: Flächen aus Parts importieren
Tapani. am 20.07.2006 um 09:08 Uhr (0)
moin,das Problem liegt, wie du schon richtig erkannt hast darin, das im Click-Interface implizit einige Schritte durchgeführt werden, die vom Recorder nicht aufgezeichnet werden. In der Regel sind diese Schritte aber auch durch das Script erreichbar, man muss sie eben nur komplett per Hand erstellen, da der Recorder versagt...So, aber nun zum Problem:Wenn die eine Fläche in einem anderen Part liegt, musst du sie zuerst kopieren und dann per Paste Special als "as Result" in dem anderen Part einfügen. Aus ir ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Färben einer Selektion
Tapani. am 24.07.2006 um 11:37 Uhr (0)
moin,das Problem liegt darin, das "VisProperties" eine Property von "Selection" ist und nicht von SelectedElement.grob skizziert sieht das also so aus:set sel = CATIA.ActiveDocument.Selectionstatus = sel.SelectElement2(...)sel.VisProperties.SetRealColor ...sel.Item(1).Value.Name = deinNeuerNameCU tapani------------------Dont take life so seriously....its not a permanent condition
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Assembly-Design - Sectioning -> Schnitte durch Makro als CATPart abspeicher
Tapani. am 14.07.2006 um 10:58 Uhr (0)
moin,hier der einfachste Fall: ein Product mit einem Part, im Part ist belibige Geometrie im Hauptkörper definiert und im ersten Hybridbody (Geometrisches Set in der Übersetzung) ist die Schnittebene als Ebene definiert.Code:sub CATMain() Dim fa(2), sa(2), op(2), mat(11) set plane1 = CATIA.ActiveDocument.Product.Products.Item(1).ReferenceProduct.Parent.Part.HybridBodies.Item(1).HybridShapes.Item(1) plane1.GetFirstAxis fa plane1.GetSecondAxis sa plane1.GetOrigin op set secs = CATIA.ActiveDocument.Product.Ge ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Assembly-Design - Sectioning -> Schnitte durch Makro als CATPart abspeicher
Tapani. am 11.07.2006 um 10:44 Uhr (0)
moin,was du bräuchtest ist wohl die Funktion AddNewSplit oder AddNewHybridSplit des Objektes ShapeFactory bzw. HybridShapeFactory. Wie das genau geht findest du dann in der Hilfe unter den beiden letztgenannten Objekten.z.B. set hybFact = CATIA.ActiveDocument.Part.HybridShapeFactory (angenommen ein CATPart ist geöffnet)set newSplit = hybFact.AddNewHybridSplit(Ref1,Ref2,1)wobei Ref1 & 2 Referenzen auf das zu schneidende Objekt bzw. die Ebene sind. Am besten erzeugt mit CATIA.ActiveDocument.Part.CreateRefere ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Parameter aus Part auslesen
Tapani. am 13.07.2006 um 17:16 Uhr (0)
moin,an die Parameter eines Parts kommst du mitCode:set secs = CATIA.Documents.Item("Slider.CATPart").Part.Parameters.Item("Radius")msgbox secs.NameDa du die Objekte des Strukturbaums alle abgrasen willst, ist es ratsam statt der Strings in den Item-Statements Zahlenwerte zu nehmen. Collections fangen immer bei 1 an und z.B. CATIA.Documents.Count gibt die Anzahl der vorhandenen Elemente an.Gerade für das abgrasen aller Elemente des Strukturbaums lege ich dir den Eintrag zu ReferenceProduct in der "Product" ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Do Until Schleife, Ausgans-Prüfkriterium
Tapani. am 18.07.2006 um 10:24 Uhr (0)
moin,dein E liefert den Status des Select-Commands, d.h. "Normal", "Cancel" etc. und nicht den Typ des Selected Element. Um das rauszukriegen gibts die VBS-Funktion typename. Auch brauchst du bei SelectElement2 nicht EndSelectElement zu verwenden. Und wenn du mit VB-Script arbeitest sollten Dim-Statements kein "as" enthalten. Gibt bei mir zumindest einen kritischen Fehler.Dann sieht dein Script folgendermaßen aus:Code:Sub CATMain() Dim Ref(0) Ref(0)= "AnyObject" Do Set UserSel=CATIA.ActiveDocument.S ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Parameter schnell ansprechen
Tapani. am 24.05.2006 um 14:46 Uhr (0)
Hallo Legat,als ersten Tip würde ich versuchen so viel wie möglich von den CATIA-Objekten in Variablen zwischen zu speichern:statt in der SchleifeCode:set Param = CATIA.ActiveDocument.Part.Parameters.Item(...)lieberCode:set paramsCol = CATIA.ActiveDocument.Part.Parametersaußerhalb der Schleife und dann Code:paramsCol.Item(...)innerhalb der Schleife.Aber ob das den erwünschten Effekt bringt ist fraglich, deshalb noch eine weitere, aber wesentlich kompliziertere Möglichkeit:Du bildest zuerst von allen Parame ...
|
| In das Form CATIA V5 Programmierung wechseln |